#ifndef SERVO_CONTROL_H
#define SERVO_CONTROL_H

// 引入必要的标准头文件和相关库头文件，确保类型等定义可用
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h> // 用于明确无符号整数类型定义，增强代码可移植性
#include "unistd.h"
#include "ohos_init.h"
#include "cmsis_os2.h"
#include "iot_gpio.h"
#include "hi_gpio.h"
#include "hi_io.h"
#include "hi_pwm.h"
#include "time.h"

// 对外暴露的宏定义，方便其他模块使用相同的配置参数
// PWM周期相关的宏定义，单位为微秒，这里定义为20ms（即50Hz）
#define PWM_FREQ_TIME_US 20000
// 每个角度设置发送PWM信号的次数
#define PWM_COUNT_PER_ANGLE 10
// 舵机控制引脚对应的GPIO编号
#define SERVO_GPIO_PIN 2
// 红色LED对应的GPIO编号
#define RED_LED_GPIO_PIN 10

// 控制舵机逆时针转动，实现逐步改变角度的逻辑
int OpenTask(int sockfd);

// 控制舵机顺时针转动，实现逐步改变角度的逻辑
int CloseTask(int sockfd);

#endif